# import selenium
import time

#从selenium.webdriver.common.by 导入By包进行元素定位
from selenium import webdriver
# 下面这个构建隐式等待
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# 可以对网页上元素是否存在，可点击等等进行判断，一般用于断言或与WebDriverWait配合使用。
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait


url = "https://www.baidu.com"
# brower = webdriver.Chrome()
# b = webdriver.Chrome(executable_path='chromedriver.exe')
# 驱动在哪里，相对在我们文件里面
brower = webdriver.Chrome(executable_path='chromedriver.exe')
def wait_element(brower,element_id,wait_time=10):
    try:
        # 调用该方法提供的驱动程序作为参数，直到返回值为True
        WebDriverWait(brower,wait_element,1).until(
            # 判断是否至少有1个元素存在于dom树中。
            # 举个例子，如果页面上有n个元素的class都是'column-md-3'，那么只要有1个元素存在，这个方法就返回True
            EC.presence_of_all_elements_located((By.ID,element_id))
        )
    except Exception as e:
        raise Exception(e)
try:
    brower.get(url)
    # print('pass')
    input = brower.find_element_by_id('kw')
    input.clear()
    input.send_keys('Python')
    input.send_keys(Keys.ENTER)
    wait_element(brower,'content_left')
finally:
    time.sleep(5)
    brower.close()



















